Atomic Simulation Environment 您所在的位置:网站首页 atomic area Atomic Simulation Environment

Atomic Simulation Environment

2024-05-11 14:36| 来源: 网络整理| 查看: 265

Atomic Simulation Environment¶

The Atomic Simulation Environment (ASE) is a set of tools and Python modules for setting up, manipulating, running, visualizing and analyzing atomistic simulations. The code is freely available under the GNU LGPL license.

ASE provides interfaces to different codes through Calculators which are used together with the central Atoms object and the many available algorithms in ASE.

>>> # Example: structure optimization of hydrogen molecule >>> from ase import Atoms >>> from ase.optimize import BFGS >>> from ase.calculators.nwchem import NWChem >>> from ase.io import write >>> h2 = Atoms('H2', ... positions=[[0, 0, 0], ... [0, 0, 0.7]]) >>> h2.calc = NWChem(xc='PBE') >>> opt = BFGS(h2) >>> opt.run(fmax=0.02) BFGS: 0 19:10:49 -31.435229 2.2691 BFGS: 1 19:10:50 -31.490773 0.3740 BFGS: 2 19:10:50 -31.492791 0.0630 BFGS: 3 19:10:51 -31.492848 0.0023 >>> write('H2.xyz', h2) >>> h2.get_potential_energy() -31.492847800329216 Supported Calculators¶

ACE-Molecule amber DMol³ Gaussian Grimme DFT-D3 gulp Mopac qmmm tip3p ~deMon-Nano

Reference publication on ASE

News¶

ASE version 3.22.1 released (1 December 2021).

ASE version 3.22.0 released (24 June 2021).

ASE version 3.21.1 released (24 January 2021).

ASE version 3.21.0 released (18 January 2021).

New bugfix releases 3.20.1 and 3.19.3 (11 August 2020).

ASE version 3.20.0 released (8 August 2020).

ASE version 3.19.2 released (22 July 2020).

ASE version 3.19.1 released (4 April 2020).

ASE version 3.19.0 released (16 December 2019).

ASE version 3.18.2 released (15 December 2019).

First ASE Workshop held at Chalmers University of Technology, Gothenburg, Sweden, November 19-22, 2019 (15 December 2019).

ASE version 3.18.1 released (20 September 2019).

ASE version 3.18.0 released (19 July 2019).

ASE version 3.17.0 released (12 November 2018).

ASE version 3.16.2 released (5 June 2018).

ASE version 3.16.0 released (21 March 2018).

ASE version 3.15.0 released (28 September 2017).

Bugfix release: ASE version 3.14.1 (28 June 2017).

ASE version 3.14.0 released (20 June 2017).

Reference paper in J. Phys. Condens. Matter: The Atomic Simulation Environment | A Python library for working with atoms (7 June 2017).

ASE version 3.13.0 released (7 February 2017).

Psi-k Scientific Highlight Of The Month: The Atomic Simulation Environment | A Python library for working with atoms (20 January 2017).

ASE version 3.12.0 released (24 October 2016).

ASE version 3.11.0 released (10 May 2016).

ASE version 3.10.0 released (17 March 2016).

Web-page now uses the Read the Docs Sphinx Theme (20 February 2016).

The source code is now on https://gitlab.com/ase/ase (18 September 2015).

ASE version 3.9.1 released (21 Juli 2015).

ASE version 3.9.0 released (28 May 2015).

ASE version 3.8.0 released (22 October 2013).

ASE version 3.7.0 released (13 May 2013).

ASE version 3.6.0 released (24 February 2012).

Bugfix release: ASE version 3.5.1 (24 May 2011).

ASE version 3.5.0 released (13 April 2011).

ASE version 3.4.1 released (11 August 2010).

ASE version 3.4 released (23 April 2010).

ASE version 3.3 released (11 January 2010).

ASE version 3.2 released (4 September 2009).

ASE has reached revision 1000 (16 July 2009).

ASE version 3.1.0 released (27 March 2009).

Improved ase.vibrations module: More accurate and possibility to calculate Infrared intensities (13 March 2009).

ASE version 3.0.0 released (13 November 2008).

Asap version 3.0.2 released (15 October 2008).

An experimental abinit interface released (9 June 2008).

Thursday April 24 will be ASE documentation-day. Ten people from CAMd/Cinf will do a “doc-sprint” from 9 to 16. (17 Apr 2008)

The new ASE-3.0 Sphinx page is now up and running! (2 Apr 2008)

A beta version of the new ASE-3.0 will be used for the electronic structure course at CAMd. (10 Jan 2008)

Contents¶ About Installation Requirements Installation using system package managers Linux Max OSX (Homebrew) Installation using pip Installation from source Environment variables Test your installation Getting started Introduction: Nitrogen on copper Atoms Adding calculator Structure relaxation Input-output Visualization Molecular dynamics Atoms and calculators Python Atoms Calculators Binding curve Solutions External calculators Setting up an external calculator with ASE Setting up Your first run Manipulating atoms Ag adatom on Ni slab Interface building Structure optimization: H2O Optimizers G2 molecule dataset Use another calculator Appendix: Communication between calculators and codes Solutions Crystals and band structure Setting up bulk structures Bulk calculation Density of states Band structure Equation of state Complex crystals and cell optimisation Solutions Nanoparticle Build and optimise nanoparticle Ground state Density of states Solutions Tutorials Python ASE Basic property calculations Atomization energy Equation of state (EOS) Finding lattice constants using EOS and the stress tensor HCP Analysis Using the stress tensor Surface adsorption Surface adsorption study using the ASE database Bulk Adsorbates Reference energies Analysis Global optimization Constrained minima hopping (global optimization) Optimization with a Genetic Algorithm A Brief Overview of the Implementation A Basic Example Running the GA in Parallel Relaxations in Parallel on the Same Computer Running the GA together with a queing system Parameterising the GA search for structure screening Genetic algorithm Search for stable FCC alloys Basic outline of the search Setting up reference database Initial population Run the algorithm Extending the algorithm Extra mutation operators Prevent identical calculations from being performed Reuse of calculations between algorithm runs Determination of convex hull with a genetic algorithm Outline of the GA run Initial population Run the algorithm Customization of the algorithm Exact duplicate identification Symmetric duplicate identification Problem specific mutation operators Genetic algorithm search for bulk crystal structures Initial population Run the GA search Typical bulk GA operators CutAndSplicePairing StrainMutation PermuStrainMutation RotationalMutation RattleRotationalMutation SoftMutation Useful helper functions CellBounds StartGenerator OFPComparator Genetic algorithm search for molecular crystal structures Initial population Run the GA search Calculating diffusion/dissociation properties Surface diffusion energy barriers using the Nudged Elastic Band (NEB) method Restarting NEB Parallelizing over images with MPI Surface diffusion energy barriers using ASE constraints Dissociation of a molecule using the NEB method Image Dependent Pair Potential for improved interpolation of NEB initial guess Example 1: Ethane Example 2: N diffusion over a step edge Self-diffusion on the Al(110) surface using the NEB and Dimer method ASE database Introduction to ASE databases Setting up a database Inspecting a database Opening a database in Python Write new entries to a database using Python Adding data to existing database Browsing data Adsorbates on metals Solutions Surface adsorption Surface adsorption study using the ASE database Bulk Adsorbates Reference energies Analysis Molecular Dynamics Molecular dynamics Constant temperature MD Isolated particle MD Equilibrating a TIPnP Water Box Equilibrating an MD box of acetonitrile Uncategorized Tools for defect calculations Supercell creation Background Algorithm for finding optimal supercell shapes Implementation of algorithm Generation of supercell ASE for QM/MM Simulations Electrostatic Embedding QM/MM LJInteractionsGeneral - For More Intricate Systems EIQMMM And Charged Systems - Counterions Other tips: Dimensionality analysis analyze_dimensionality() isolate_components() Calculating Delta-values delta() Partly occupied Wannier Functions Molecular vibrations Further reading Videos Modules The Atoms object Working with the array methods of Atoms objects Unit cell and boundary conditions Special attributes Adding a calculator List-methods Other methods List of all Methods Atoms Atoms.append() Atoms.calc Atoms.cell Atoms.center() Atoms.constraints Atoms.copy() Atoms.edit() Atoms.euler_rotate() Atoms.extend() Atoms.fromdict() Atoms.get_all_distances() Atoms.get_angle() Atoms.get_angles() Atoms.get_angular_momentum() Atoms.get_array() Atoms.get_atomic_numbers() Atoms.get_calculator() Atoms.get_cell() Atoms.get_cell_lengths_and_angles() Atoms.get_celldisp() Atoms.get_center_of_mass() Atoms.get_charges() Atoms.get_chemical_formula() Atoms.get_chemical_symbols() Atoms.get_dihedral() Atoms.get_dihedrals() Atoms.get_dipole_moment() Atoms.get_distance() Atoms.get_distances() Atoms.get_forces() Atoms.get_global_number_of_atoms() Atoms.get_initial_charges() Atoms.get_initial_magnetic_moments() Atoms.get_kinetic_energy() Atoms.get_magnetic_moment() Atoms.get_magnetic_moments() Atoms.get_masses() Atoms.get_momenta() Atoms.get_moments_of_inertia() Atoms.get_number_of_atoms() Atoms.get_pbc() Atoms.get_positions() Atoms.get_potential_energies() Atoms.get_potential_energy() Atoms.get_properties() Atoms.get_reciprocal_cell() Atoms.get_scaled_positions() Atoms.get_stress() Atoms.get_stresses() Atoms.get_tags() Atoms.get_temperature() Atoms.get_total_energy() Atoms.get_velocities() Atoms.get_volume() Atoms.has() Atoms.new_array() Atoms.number_of_lattice_vectors Atoms.numbers Atoms.pbc Atoms.pop() Atoms.positions Atoms.rattle() Atoms.repeat() Atoms.rotate() Atoms.rotate_dihedral() Atoms.set_angle() Atoms.set_array() Atoms.set_atomic_numbers() Atoms.set_calculator() Atoms.set_cell() Atoms.set_celldisp() Atoms.set_center_of_mass() Atoms.set_chemical_symbols() Atoms.set_constraint() Atoms.set_dihedral() Atoms.set_distance() Atoms.set_initial_charges() Atoms.set_initial_magnetic_moments() Atoms.set_masses() Atoms.set_momenta() Atoms.set_pbc() Atoms.set_positions() Atoms.set_scaled_positions() Atoms.set_tags() Atoms.set_velocities() Atoms.symbols Atoms.todict() Atoms.translate() Atoms.wrap() Atoms.write() The Cell object Cell Cell.angles() Cell.area() Cell.areas() Cell.ascell() Cell.bandpath() Cell.cartesian_positions() Cell.cellpar() Cell.complete() Cell.copy() Cell.fromcellpar() Cell.get_bravais_lattice() Cell.handedness Cell.lengths() Cell.mask() Cell.minkowski_reduce() Cell.new() Cell.niggli_reduce() Cell.normal() Cell.normals() Cell.orthorhombic Cell.permute_axes() Cell.rank Cell.reciprocal() Cell.scaled_positions() Cell.standard_form() Cell.uncomplete() Cell.volume Units Changing the CODATA version create_units() File input and output read() iread() write() read_cube_data() Examples Adding a new file-format to ASE Adding a new file-format in a plugin package Building things Surfaces Common surfaces Example Utility functions for setting up surfaces The following functions are provided fcc100() fcc110() bcc100() hcp10m10() diamond100() fcc111() fcc211() bcc110() bcc111() hcp0001() diamond111() mx2() graphene() Create root cuts of surfaces fcc111_root() hcp0001_root() bcc111_root() root_surface() root_surface_analysis() Adding adsorbates add_adsorbate() add_vacuum() Create specific non-common surfaces surface() Example Tools for building things cut() stack() sort() rotate() niggli_reduce() minimize_tilt() minimize_rotation_and_translation() find_optimal_cell_shape() get_deviation_from_optimal_cell_shape() make_supercell() Separation of structures connected_indices() connected_atoms() separate() split_bond() Molecules molecule() Common bulk crystals bulk() Nanotubes nanotube() Graphene nanoribbons graphene_nanoribbon() Attaching structures attach() attach_randomly() attach_randomly_and_broadcast() Equation of state EquationOfState EquationOfState.fit() EquationOfState.plot() calculate_eos() Chemical formula type Formula Formula.convert() Formula.count() Formula.reduce() Formula.stoichiometry() Formula.format() Formula.__format__() Formula.from_dict() Formula.from_list() Formula.__len__() Formula.__getitem__() Formula.__contains__() Formula.__eq__() Formula.__add__() Formula.__mul__() Formula.__divmod__() Chemical symbols Symbols Symbols.formula Symbols.get_chemical_formula() Symbols.indices() Symbols.search() Symbols.species() Symbols.species_indices() Collections Collection S22 database of weakly interacting dimers and complexes s22 DeltaCodesDFT dcdft G2 neutral test set of molecules g2 The data module Atomic data atomic_masses atomic_names chemical_symbols covalent_radii cpk_colors reference_states vdw_radii atomic_masses_iupac2016 atomic_masses_legacy cohesive_energies atomic_numbers How to extract isotope data from NIST download_isotope_data() Molecular data pubchem_atoms_search() pubchem_atoms_conformer_search() pubchem_search() pubchem_conformer_search() S22, s26, and s22x5 data Structure optimization Local optimization BFGS BFGS LBFGS LBFGS LBFGSLineSearch GPMin GPMin FIRE FIRE MDMin MDMin SciPy optimizers SciPyFminBFGS SciPyFminCG BFGSLineSearch BFGSLineSearch QuasiNewton Preconditioned optimizers Global optimization Basin hopping Minima hopping Transition state search ClimbFixInternals BFGSClimbFixInternals BFGSClimbFixInternals.get_projected_forces() BFGSClimbFixInternals.get_scaled_fmax() Molecular dynamics Choosing the time step File output Logging MDLogger Constant NVE simulations (the microcanonical ensemble) Velocity Verlet dynamics VelocityVerlet Constant NVT simulations (the canonical ensemble) Langevin dynamics Langevin Andersen dynamics Andersen Nosé-Hoover dynamics Berendsen NVT dynamics NVTBerendsen Constant NPT simulations (the isothermal-isobaric ensemble) NPT NPT.run() NPT.set_stress() NPT.set_temperature() NPT.set_mask() NPT.set_fraction_traceless() NPT.get_strain_rate() NPT.set_strain_rate() NPT.get_time() NPT.initialize() NPT.get_gibbs_free_energy() NPT.zero_center_of_mass_momentum() NPT.attach() Berendsen NPT dynamics NPTBerendsen Contour Exploration ContourExploration Velocity distributions MaxwellBoltzmannDistribution() Stationary() ZeroRotation() PhononHarmonics() phonon_harmonics() Post-simulation Analysis DiffusionCoefficient Constraints The FixAtoms class FixAtoms The FixBondLength class FixBondLength The FixBondLengths class FixBondLengths The FixLinearTriatomic class FixLinearTriatomic The FixedLine class FixedLine The FixedPlane class FixedPlane The FixedMode class FixedMode The FixCom class FixCom The FixSubsetCom class FixSubsetCom The Hookean class Hookean The ExternalForce class ExternalForce The FixInternals class FixInternals FixInternals.get_bondcombo() Combining constraints Making your own constraint class adjust_positions() adjust_forces() adjust_momenta() adjust_potential_energy() The FixSymmetry class FixSymmetry refine_symmetry() check_symmetry() Filters The Filter class Filter The UnitCellFilter class UnitCellFilter The StrainFilter class StrainFilter The ExpCellFilter class ExpCellFilter The FrechetCellFilter class FrechetCellFilter Using the spacegroup subpackage Examples of setting up bulk structures crystal() Aluminium (fcc) Iron (bcc) Magnesium (hcp) Diamond Sodium chloride Rutile CoSb3 skutterudite The Spacegroup class Spacegroup get_spacegroup() Getting a reduced atomic basis get_basis() Building neighbor-lists API NeighborList NeighborList.get_connectivity_matrix() NeighborList.get_neighbors() NeighborList.nneighbors NeighborList.npbcneighbors NeighborList.nupdates NeighborList.update() NewPrimitiveNeighborList NewPrimitiveNeighborList.build() NewPrimitiveNeighborList.get_neighbors() NewPrimitiveNeighborList.update() PrimitiveNeighborList PrimitiveNeighborList.nupdates PrimitiveNeighborList.build() PrimitiveNeighborList.get_neighbors() PrimitiveNeighborList.update() build_neighbor_list() first_neighbors() get_connectivity_matrix() get_distance_indices() get_distance_matrix() mic() natural_cutoffs() neighbor_list() primitive_neighbor_list() Geometry tools Cell Cell.angles() Cell.area() Cell.areas() Cell.ascell() Cell.bandpath() Cell.cartesian_positions() Cell.cellpar() Cell.complete() Cell.copy() Cell.fromcellpar() Cell.get_bravais_lattice() Cell.handedness Cell.lengths() Cell.mask() Cell.minkowski_reduce() Cell.new() Cell.niggli_reduce() Cell.normal() Cell.normals() Cell.orthorhombic Cell.permute_axes() Cell.rank Cell.reciprocal() Cell.scaled_positions() Cell.standard_form() Cell.uncomplete() Cell.volume cell_to_cellpar() cellpar_to_cell() complete_cell() conditional_find_mic() distance() find_mic() get_angles() get_angles_derivatives() get_dihedrals() get_dihedrals_derivatives() get_distances() get_distances_derivatives() get_duplicate_atoms() get_layers() is_minkowski_reduced() is_orthorhombic() minkowski_reduce() orthorhombic() permute_axes() wrap_positions() Analysis tools Analysis Analysis.adjacency_matrix Analysis.all_angles Analysis.all_bonds Analysis.all_dihedrals Analysis.clear_cache() Analysis.distance_matrix Analysis.get_angle_value() Analysis.get_angles() Analysis.get_bond_value() Analysis.get_bonds() Analysis.get_dihedral_value() Analysis.get_dihedrals() Analysis.get_rdf() Analysis.get_values() Analysis.images Analysis.nImages Analysis.nl Analysis.unique_angles Analysis.unique_bonds Analysis.unique_dihedrals A database for atoms What’s in the database? ase db Querying Integration with other parts of ASE Browse database with your web-browser Python Interface Description of a row Extracting Atoms objects from the database Add additional data Row objects AtomsRow AtomsRow.get() AtomsRow.key_value_pairs AtomsRow.count_atoms() AtomsRow.constraints AtomsRow.data AtomsRow.natoms AtomsRow.formula AtomsRow.symbols AtomsRow.fmax AtomsRow.constrained_forces AtomsRow.smax AtomsRow.mass AtomsRow.volume AtomsRow.charge AtomsRow.toatoms() Writing and updating many rows efficiently Writing rows in parallel More details connect() Database Database.write() Database.reserve() Database.update() Database.metadata Database.get_atoms() Database.get() Database.select() Database.count() Database.delete() Metadata External Tables Running a PostgreSQL server Running a MySQL server Minimum energy path Nudged elastic band The NEB class NEB Interpolation interpolate() idpp_interpolate() Trajectories Restarting Climbing image Scaled and dynamic optimizations DyNEB Parallelization over images Using Shared Calculators Analysis of output NEBTools NEBTools.get_barrier() NEBTools.get_fit() NEBTools.get_fmax() NEBTools.plot_band() NEBTools.plot_bands() AutoNEB AutoNEB Dimer method DimerControl MinModeAtoms MinModeTranslate DimerEigenmodeSearch Genetic Algorithm Optimization with a Genetic Algorithm A Brief Overview of the Implementation A Basic Example Running the GA in Parallel Relaxations in Parallel on the Same Computer Running the GA together with a queing system Parameterising the GA search for structure screening Determination of convex hull with a genetic algorithm Outline of the GA run Initial population Run the algorithm Customization of the algorithm Exact duplicate identification Symmetric duplicate identification Problem specific mutation operators Genetic algorithm Search for stable FCC alloys Basic outline of the search Setting up reference database Initial population Run the algorithm Extending the algorithm Extra mutation operators Prevent identical calculations from being performed Reuse of calculations between algorithm runs Genetic algorithm search for bulk crystal structures Initial population Run the GA search Typical bulk GA operators CutAndSplicePairing StrainMutation PermuStrainMutation RotationalMutation RattleRotationalMutation SoftMutation Useful helper functions CellBounds StartGenerator OFPComparator Genetic algorithm search for molecular crystal structures Initial population Run the GA search ASE’s GUI ase-gui basics and command line options General use Files Selecting part of a trajectory Writing files Interactive use GUI.repeat_poll() NEB calculations Plotting data from the command line Defaults High contrast settings Edit Add atoms Modify View Repeat Rotate Colors Settings Tools Graphs Movie Constraints Render scene Move atoms Setup Calculate Set calculator Energy and forces Energy minimization Bravais lattices BravaisLattice BravaisLattice.bandpath() BravaisLattice.cellpar() BravaisLattice.conventional() BravaisLattice.description() BravaisLattice.get_special_points() BravaisLattice.get_special_points_array() BravaisLattice.plot_bz() BravaisLattice.special_path BravaisLattice.special_point_names BravaisLattice.tocell() BravaisLattice.type_description() BravaisLattice.variant BravaisLattice.vars() General crystal structures and surfaces Example Available crystal lattices Usage Defining new lattices Lattices with more than one element Nanoparticles and clusters Examples Layer specification Wulff construction Creating a nanoparticle Possible crystal structures Cluster Cluster.copy() Cluster.get_diameter() Cluster.get_layers() Cluster.get_surfaces() Decahedron() Icosahedron() Octahedron() wulff_construction() Visualization view() Viewer for Jupyter notebooks NGLDisplay NGLDisplay.custom_colors() view_ngl() Plotting iso-surfaces with Mayavi plot() Matplotlib Calculators Supported calculators Calculator configuration Calculator keywords set() EAM Introduction Theory Running the Calculator Arguments Additional parameters for writing potential files Special features Notes/Issues Example: Pure Python EMT calculator EMT Theory Energy Forces Stress Tips ABINIT Introduction Environment variables ABINIT Calculator Pseudopotentials Amber Introduction Water example CASTEP Introduction Getting Started: Running the Calculator Castep Arguments: Additional Settings Special features: Notes/Issues: Example: CP2K CP2K CRYSTAL14 Introduction Environment variables CRYSTAL Calculator (a FileIOCalculator) Exchange-correlation functionals Setups Spin-polarized calculation Brillouin-zone sampling Reading an external wave function Code related keywords Demon Demon deMon-Nano Environment variables deMon-Nano Calculator (a FileIOCalculator) DemonNano Example: Geometry Optimization with ASE DFTB+ Introduction Environment variables Parameters Examples Geometry optimization by ASE Geometry optimization by DFTB+ NVE-MD followed by NVT-MD (both by DFTB+) DFTB+ calculator class Dftb DMol3 Environment variables DMol3 Calculator DMol3 Example File formats Espresso Calculator Basic usage Parameters Parallelism Input/Output pw.x ph.x write_espresso_ph() read_espresso_ph() Other binaries write_fortran_namelist() read_fortran_namelist() Namelist Class Namelist Espresso Calculator Class Espresso exciting Introduction Muffin Tin Radius Exciting Calculator Class ExcitingGroundStateCalculator FHI-aims Introduction Running the Calculator Aims List of keywords Volumetric Data Output AimsCube Example FLEUR GAMESS-US Setup Examples Parameters GAMESSUS Gaussian Setup Examples Parameters GaussianOptimizer and GaussianIRC Gaussian Gromacs Introduction Gromacs Calculator Parameters Environmental variables: Example: MM-only geometry optimization of a histidine molecule GULP Instructions Example Harmonic calculator Introduction HarmonicCalculator HarmonicForceField Theory for Anharmonic Correction via Thermodynamic Integration (TI) Examples Example 1: Cartesian coordinatates Example 2: Internal Coordinates Example 3: Free Energy Change due to Coordinate Transformation Example 4: Anharmonic Corrections Communication with calculators over sockets Introduction Which codes can be used with socket I/O calculators? How to use the ASE socket I/O interface Run server and client manually Module documentation SocketIOCalculator SocketClient SocketServer Jacapo - ASE python interface for Dacapo KIM Overview Implementation KIM() Advanced Usage LAMMPS Calculators LAMMPS LAMMPS Setting up an OPLS calculation LAMMPSlib LAMMPSlib Mopac MOPAC NWChem Setup Examples Parameters NWChem Octopus Introduction Examples Structure optimization Periodic system Time-dependent density functional theory Additional information Hints Bugs and misbehaviour ONETEP Introduction Environment variables Pseudopotentials ONETEP Calculator Onetep Examples OpenMX Introduction Environment variables Keyword Arguments of OpenMX objects OpenMX Calculator parameters Density of States Methods of OpenMX objects ORCA Setup and usage Class Definition ORCA PLUMED Introduction Installation Set-up Units Plumed Calculator Class Plumed psi4 Psi4 Setup Examples Parallelization Parameters Q-Chem Setup Examples QChem SIESTA Introduction Environment variables SIESTA Calculator Extra FDF parameters Example Defining Custom Species Pseudopotentials Restarting from an old Calculation Choosing the coordinate format Siesta Calculator Class Siesta Excited states calculations Raman Calculations with SIESTA and PyNAO Further Examples Siesta lrtddft Class SiestaLRTDDFT Siesta RamanCalculatorInterface Calculator Class RamanCalculatorInterface TURBOMOLE Setting up the environment Using the calculator Python interface Command-line interface Reading output Properties Metadata Restart mode Caveat about using the restart mode Policies for files in the working directory Parameters Examples Single-point energy calculation Nudged elastic band calculation Single-point gradient calculation of Au13- Geometry optimization using TurbomoleOptimizer (recommended) Geometry optimization and normal mode analysis for H2O QMMM simulation Deprecated, non-implemented and unsupported features Deprecated but still accepted parameters Not implemented parameters Unsupported methods and features VASP Introduction Environment variables VASP execution Pseudopotentials VASP Calculator Vasp Exchange-correlation functionals Setups Spin-polarized calculation Brillouin-zone sampling Single-parameter schemes Three-parameter scheme Explicitly listing the k-points Band structure paths LD(S)A+U Restart old calculation Storing the calculator state Vasp.asdict() Vasp.fromdict() Vasp.write_json() Vasp.read_json() Vibrational Analysis Vasp.get_vibrations() Vasp.read_vib_freq() Examples Band structure with VASP Density of States QMMM Explicit Interaction QMMM EIQMMM LJInteractions LJInteractionsGeneral Embedding Simple, subtractive QMMM calculations SimpleQMMM Force-based QM/MM ForceQMMM Checkpointing Manual checkpointing Checkpoint Checkpoint.load() Checkpoint.flush() Checkpoint.save() Automatic checkpointing with the checkpoint calculator CheckpointCalculator CheckpointCalculator.implemented_properties CheckpointCalculator.default_parameters CheckpointCalculator.calculate() Mixing Calculators LinearCombinationCalculator MixedCalculator SumCalculator AverageCalculator Logging Calculator LoggingCalculator DFT-D3 Introduction Examples Additional information Caveats Other built-in calculators TIP3P TIP3P TIP4P TIP4P Lennard-Jones LennardJones Morse MorsePotential Stuff for testing things FreeElectrons FreeElectrons.calculate() FreeElectrons.default_parameters FreeElectrons.get_eigenvalues() FreeElectrons.get_fermi_level() FreeElectrons.get_ibz_k_points() FreeElectrons.get_number_of_spins() FreeElectrons.implemented_properties ACE-Molecule Setup Parameters Density Functional Theory Brillouin zone sampling Monkhorst-Pack monkhorst_pack() get_monkhorst_pack_size_and_offset() Special points in the Brillouin zone special_points Brillouin zone data Brillouin zone data get_special_points() bandpath() parse_path_string() labels_from_kpts() Band path BandPath BandPath.cartesian_kpts() BandPath.cell BandPath.free_electron_band_structure() BandPath.get_linear_kpoint_axis() BandPath.icell BandPath.interpolate() BandPath.kpts BandPath.path BandPath.plot() BandPath.read() BandPath.special_points BandPath.transform() BandPath.write() Band structure BandStructure BandStructure.energies BandStructure.get_labels() BandStructure.path BandStructure.plot() BandStructure.read() BandStructure.reference BandStructure.subtract_reference() BandStructure.write() Interpolation monkhorst_pack_interpolate() High symmetry paths special_paths Chadi-Cohen cc6_1x1 cc12_2x3 cc18_sq3xsq3 cc18_1x1 cc54_sq3xsq3 cc54_1x1 cc162_sq3xsq3 cc162_1x1 Maximally localized Wannier functions Introduction The Wannier class Wannier Wannier.distances() Wannier.get_centers() Wannier.get_function() Wannier.get_functional_value() Wannier.get_hamiltonian() Wannier.get_hamiltonian_kpoint() Wannier.get_hopping() Wannier.get_optimal_nwannier() Wannier.get_pdos() Wannier.get_radii() Wannier.get_spreads() Wannier.initialize() Wannier.localize() Wannier.save() Wannier.translate() Wannier.translate_all_to_cell() Wannier.translate_to_cell() Wannier.write_cube() Density of states More details DOS DOS.get_dos() DOS.get_energies() linear_tetrahedron_integration() get_distribution_moment() Band gap bandgap() STM images STM STM.calculate_ldos() STM.find_current() STM.get_averaged_current() STM.linescan() STM.pointcurrent() STM.scan() STM.scan2() STM.sts() STM.write() Bader Analysis Vibration analysis Vibrational modes Vibrations Vibrations.clean() Vibrations.combine() Vibrations.fold() Vibrations.get_energies() Vibrations.get_frequencies() Vibrations.get_mode() Vibrations.get_vibrations() Vibrations.iterdisplace() Vibrations.iterimages() Vibrations.run() Vibrations.split() Vibrations.write_dos() Vibrations.write_jmol() Vibrations.write_mode() Example Old calculations Vibrational Data VibrationsData VibrationsData.from_2d() VibrationsData.get_dos() VibrationsData.get_energies() VibrationsData.get_energies_and_modes() VibrationsData.get_frequencies() VibrationsData.get_hessian() VibrationsData.get_hessian_2d() VibrationsData.get_mask() VibrationsData.get_modes() VibrationsData.get_pdos() VibrationsData.get_zero_point_energy() VibrationsData.indices_from_constraints() VibrationsData.indices_from_mask() VibrationsData.iter_animated_mode() VibrationsData.read() VibrationsData.show_as_force() VibrationsData.tabulate() VibrationsData.with_new_masses() VibrationsData.write() VibrationsData.write_jmol() Infrared intensities Infrared Infrared.get_spectrum() Infrared.write_spectra() Resonant and non-resonant Raman spectra 1. Finite difference calculations 1a. Forces and excitations ResonantRamanCalculator 1b. More accurate forces 1c. Overlaps 2. Analysis of the results Placzek Albrecht Evaluation of Franck-Condon factors Franck-Condon factors in CH4 Forces Vibrational properties Huang-Rhys factors Franck-Condon factors Phonon calculations Example List of all Methods Phonons Phonons.acoustic() Phonons.apply_cutoff() Phonons.band_structure() Phonons.check_eq_forces() Phonons.compute_dynamical_matrix() Phonons.dos() Phonons.get_band_structure() Phonons.get_force_constant() Phonons.read() Phonons.read_born_charges() Phonons.symmetrize() Phonons.write_modes() Phase diagrams and Pourbaix diagrams PhaseDiagram PhaseDiagram.plot() PhaseDiagram.decompose() Pourbaix diagrams solvated() Pourbaix Pourbaix.decompose() Pourbaix.diagram() Spectrum tools Density of states collections More details Density of states data More details Thermochemistry Ideal-gas limit IdealGasThermo IdealGasThermo.get_enthalpy() IdealGasThermo.get_entropy() IdealGasThermo.get_gibbs_energy() Example Harmonic limit HarmonicThermo HarmonicThermo.get_entropy() HarmonicThermo.get_helmholtz_energy() HarmonicThermo.get_internal_energy() Hindered translator / hindered rotor model HinderedThermo HinderedThermo.get_entropy() HinderedThermo.get_helmholtz_energy() HinderedThermo.get_internal_energy() HinderedThermo.get_zero_point_energy() Example Crystals CrystalThermo CrystalThermo.get_entropy() CrystalThermo.get_helmholtz_energy() CrystalThermo.get_internal_energy() Example Background Ideal gas Harmonic limit Hindered translator / hindered rotor Crystalline solid Utillity functions and classes X-ray scattering simulation Theory Units Example Further details XrDebye class members XrDebye XrDebye.calc_pattern() XrDebye.get() XrDebye.get_waasmaier() XrDebye.plot_pattern() XrDebye.set_damping() XrDebye.write_pattern() References opencew() seterr() plural() formula_hill() formula_metal() convert_string_to_fd() workdir() Timer timer Symmetry equivalence checker SymmetryEquivalenceCheck SymmetryEquivalenceCheck.compare() Symmetry analysis Phonons Parallel calculations paropen() parprint() broadcast() parallel_function() parallel_generator() The Atom object Atom Getting an Atom from an Atoms object Electron transport TransportCalculator QMMM Explicit Interaction QMMM EIQMMM LJInteractions LJInteractionsGeneral Embedding Simple, subtractive QMMM calculations SimpleQMMM Force-based QM/MM ForceQMMM Legacy functionality Command line tool Help Bash completion Python -m tricks Tips and tricks Atoms objects Species Indexing Sorting Trajectories Append one trajectory to the end of another Input/output Convert from one format to another Gallery Dissociation of oxygen on Pt(100) Phase diagrams Brillouin zones Band-structure Nudged elastic band calculations Nanoparticle Pretty pictures Periodic table Fine tuning POV-Ray settings for high quality images Release notes Git master branch Version 3.22.1 Version 3.22.0 Version 3.21.1 Version 3.21.0 Version 3.20.1 Version 3.19.3 Version 3.20.0 Version 3.19.2 Version 3.19.1 Version 3.19.0 Version 3.18.2 Version 3.18.1 Version 3.18.0 Version 3.17.0 Version 3.16.2 Version 3.16.0 Version 3.15.0 Version 3.14.1 Version 3.14.0 Version 3.13.0 Version 3.12.0 Version 3.11.0 Version 3.10.0 Version 3.9.1 Version 3.9.0 Version 3.8.0 Version 3.7.0 Version 3.6.0 Version 3.5.1 Version 3.5.0 Version 3.4.1 Contact Mailing List Chat Forum GitLab ASE ecosystem Development How to contribute GitLab repository Proposed git workflow Aliases The first steps as a developer Making changes Adding corrections to be included in a merge request Making small changes Writing the commit message Code review Coding Conventions General advice Writing documentation in the code Run flake8 on your code Run autopep8.py on your code Writing documentation Installing Docutils and Sphinx Using Sphinx Extensions to Sphinx Running Python code to create figures reStructedText in emacs Adding new calculators Description of base-classes The Calculator base-class Calculator Calculator.default_parameters Calculator.ignored_changes Calculator.discard_results_on_any_change Calculator.set_label() Calculator.reset() Calculator.read() Calculator.set() Calculator.check_state() Calculator.calculate() Calculator.calculate_numerical_forces() Calculator.calculate_numerical_stress() Calculator.band_structure() The FileIOCalculator class FileIOCalculator FileIOCalculator.ruleset() FileIOCalculator.calculate() FileIOCalculator.write_input() FileIOCalculator.read_results() Making movies using recordmydesktop using avconf to collect png files New release Testing the code How to add a test How to fail successfully assert() Bugs! Bug report Known bugs License Human-readable version Legal version of the license What happens when ASE Calculators are under another license? Translate ASE How to translate Check and commit your translation Maintaining translations ASE enhancement proposals Labels for atoms Why? Proposal Examples List-like objects Atom objects I/O Calculator interface proposal Behavior Standards parameters ABC calculator example Implementation Testing Frequently Asked Questions ASE-GUI How do I export images from a trajectory to png or pov files? General How should I cite ASE? ASE Workshop 2019 Program Registration Organizers


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有